// pages/todos/todos.js
Page({

// 版本1
  //代码逻辑分析
  // 1.给input标签绑定一个input事件 时刻获取内容 并把它写入data里面的inputValue
  // 2.添加按钮 把data里面的inputvalue的值,追加到数组的list里面
      // 先把list从data里面拿出来  在list.push(数据)  
        //在追加之前先判断 任务是否已经有了 如已经存在则不添加  
      // 把追加完数据的list 通过list.setData写入data里面
  // 点击icon删除小图标，对list数据进行删除 点哪个删除哪个
      


  /**
   * 页面的初始数据
   */
  data: {
    userName : "???",
    inputValue:"",   //输入框的内容
    list:[],  //存放的是列表任务
    // index:0   //存储数组下标值
  },
/**
 * 把input输入的值获取到 存到inputvalue里
 */
  inputtxt(e) {
    // 把文本框的值赋值给data里面的inputValue
    console.log(e.detail.value)
    this.inputValue = e.detail.value;
    // 写入data
    this.setData({
      inputValue: this.inputValue
    })
  },

  /**
    * 添加任务
    */
  insert() {
    // var i = this.data.input;
    // i.push(this.data.input.length);
    // setData({
    //   input: i
    // })

// ES6语法中的数组去重
  var set1 = new Set(this.data.list)
      if(this.data.inputValue.length != 0){

        // 如果新的数组中没有这个值
        if(!set1.has(this.data.inputValue)){
          // this.data.index++;
          // 定义空数组存最新数组
          var newlist = this.data.list;
          newlist.push(this.data.inputValue);
          // 存到data里面
          this.setData({
            list:newlist,
            index:this.data.index
          })
        }else{
          // 弹框显示数据已经存在了
          wx.showToast({
            title: '对不起，数据已经存在了',
            icon:'none',
            duration:2000
          })
        }

      }else{
        // 弹框显示
        wx.showToast({
          title: '请输入数据',
          icon:'none',
          duration:2000
        })
      }
  },
  
  /**
   * 删除数据
   */
  remove(e){
    var newList = this.data.list;
    // 可以找到当前x按钮所在的索引位置
    console.log(e.currentTarget.dataset.type)
    // newList.splice()
    // 从数组中删除当前x所在索引的数组元素
    newList.splice(e.currentTarget.dataset.type,1);
    // 返回删除后的数组，重新写入data里
    this.setData({
      list:newList
    })

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    // 接收跳转带来的参数
    console.log(options)
    // 拿到页面跳转的参数 写入data
    this.setData({
      userName: options.userName
    })
  },
 

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})